#include "mapa.h"
#include <new>

Mapa::Mapa() {

	alto = 0;
	ancho = 0;
}

Mapa::Mapa(const Mapa & m) {

	alto = m.alto;
	ancho = m.ancho;

	matriz = new hexagono *[alto];
	for (int i = 0; i < alto; i++)
		matriz[i] = new hexagono[ancho];

	for (int i = 0; i < alto; i++)
		for (int j = 0; j < ancho; j++)
			matriz[i][j] = m.matriz[i][j];

}

void Mapa::creaMapa(int altura, int anchura) {

	alto = altura;
	ancho = anchura;

	matriz = new hexagono *[alto];
	for (int i = 0; i < alto; i++)
		matriz[i] = new hexagono[ancho];

}

Mapa & Mapa::operator =(const Mapa & m) {

	if (this != &m) {
		alto = m.alto;
		ancho = m.ancho;

		matriz = new hexagono *[alto];
		for (int i = 0; i < alto; i++)
			matriz[i] = new hexagono[ancho];

		for (int i = 0; i < alto; i++)
			for (int j = 0; j < ancho; j++)
				matriz[i][j] = m.matriz[i][j];
	}

	return (*this);

}

Mapa::~Mapa() {

	for (int i = 0; i < alto; i++)
		delete[] matriz[i];

	delete[] matriz;
}
